package cn.ys.org.dto;

import cn.ys.base.util.MD5Utils;
import cn.ys.base.util.StrUtils;
import cn.ys.user.domain.User;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

@Data
public class PhoneRegisterDto {

    // 手机号
    @NotBlank(message = "手机不能为空")
    private String phone;

    @NotBlank(message = "验证码不能为空")
    // 手机验证码
    private String SmsCode;
    // 第一次密码
    @NotBlank(message = "密码不能为空")
    private String password;
    // 确认密码
    @NotBlank(message = "二次密码不能为空")
    private String passwordRepeat;


    public User getUser() {
        // 通过盐值加密码加密
        // 获取盐值
        String salt = StrUtils.getComplexRandomString(32);
        String byMd5 = MD5Utils.encrypByMd5(salt + this.getPassword());
        return User.builder()
                .salt(salt)
                .password(byMd5)
                .phone(this.phone)
                .state(1)
                .username(this.phone)
                .createtime(new Date())
                .build();
    }
}
